Digital color imaging involves the reproduction of individual colors using combinations of device colors such as cyan, magenta, yellow, and black (CMYK) in the case of typical hard copy printers, or red, green, and blue (RGB) in the case of typical display monitors. To provide accurate color reproduction, the input color values provided to the output device must be precisely controlled. The color outputs of two different printers may differ significantly for identical input color values.
Similarly, common input color values may produce different color outputs for a monitor and a printer. For this reason, the color input data often is converted, or “corrected,” using device calibration data to produce consistent color output from device to device. Modification of the input color values, in effect, modifies the drive values for the output device to compensate for colorimetric differences between different output devices. Color transformation is commonly used to achieve consistent color appearance, and involves pixel-based alteration of image data, e. g., CMYK->C′M′Y′K′, to simulate the output of a reference device.
Page description files are often used to define color images. A page description language (PDL), such as Adobe PostScript, permits the definition of pages using complex commands and subroutines to create graphic objects. A page description format, such as the Adobe Portable Document Format (PDF), provides a file format for consistent geometric appearance of an image on different output devices. In each case, the page description file contains commands that specify particular color values and associate them with pixels within the image to be reproduced.
A raster image processor (RIP) converts the page description file to a bitmapped pixel image. A hardware RIP may be built into the output device or provided as a separate component. For some devices, the RIP is software-based. The pixel image contains the input color values that drive an output device such as a hard copy printer or a display monitor. The pixel image provides the explicit data necessary to drive the output device, while the page description file may contain explicit data and implicit commands for generation of explicit data upon RIP conversion.
Certain categories of page description objects and groups of objects are less susceptible to color conversion or correction because the color information they contain is implicit within the page description objects rather than explicitly defined. Typically, graphic arts workflows may require color conversion of single images as well as conversion of complex pages that are a composite of multiple images and vector commands such as text, geometric shapes, and complex regions which may be defined by Bezier curves.
The objects in these complex files may be similar regarding “color space.” For example, all of the objects in the file may be CMYK objects defined by a standard such as SWOP (Specifications for Web Offset Publications) and further defined by a specific ICC Profile that numerically defines “SWOP.” Alternatively, complex files may contain objects with different color “spaces,” such as RGB, L*a*b*, and CMYK, each with unique ICC profiles or non-ICC format color definitions such as those used in PostScript page description language.
Graphic arts workflows may also require files to be converted to new color destinations, such as a specific printing standard, using an ICC profile to define the destination device or media. However, regions of the page description file that contain implicit color object definitions, such as gradient blends and transparency overlays of multiple objects, may not accurately be converted because only the “boundary conditions” are typically defined. For example, only a boundary color “A” and a boundary color “B” are typically defined in a smooth shade command to create a blend from “A” to “B,” resulting in an “implicit” color command. The intermediate color values between “A” and “B” are implicitly defined by the shade function, and only become “explicit” upon RIPing the file, i.e., when the page description file is converted to a bit map file for a specific CMYK or RGB output having a specific resolution.